package org.jeecg.modules.demo.st.service;

import org.jeecg.modules.demo.st.entity.StStudent;
import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.modules.demo.st.vo.*;

import java.util.List;
import java.util.Map;

/**
 * @Description: 学生信息
 * @Author: jeecg-boot
 * @Date:   2019-10-26
 * @Version: V1.0
 */
public interface IStStudentService extends IService<StStudent> {

    List<StudentListVo> getLists(String classId, Integer pageNo, Integer pageSize);

    StStudent getStudent(String stuId);

    List<StudentListVo> getLists(String classId, String departId, String professionId, String nationality, String status,  String province,
                                 String city,
                                 String area,String fieldTwo,String face,String difficult, String psychological,String graduation,String single,String academicWarning,String delayedGraduation,Integer pageNo, Integer pageSize);

    List<NationPersonsVo> getNationPersons(String departIds, String professionIds, String classIds,String fieldTwo);

    List<NationPersonsVo> getFacePersons(String departIds, String professionIds, String classIds,String fieldTwo);

    List<NationPersonsVo> getDifficults(String departIds, String professionIds, String classIds,String fieldTwo);

    List<NationPersonsVo> getPsychologicals(String departIds, String professionIds, String classIds,String fieldTwo);

    List<NationPersonsVo> getPunishs(String departIds, String professionIds, String classIds,String fieldTwo);

    List<NationPersonsVo> getGraduations(String departIds, String professionIds, String classIds,String fieldTwo);

    List<NationPersonsVo> getSingles(String departIds, String professionIds, String classIds,String fieldTwo);

    List<NationPersonsVo> getAcademicWarnings(String departIds, String professionIds, String classIds,String fieldTwo);

    Map<String,Object> getStatisticsStudentSYT(String departIds, String professionIds, String classIds, String fieldTwo);

    Map<String,Long>getStatisticsStudent(String departIds, String professionIds, String classIds);

    Map<String,Long> getHanPersons (String  departIds ,String professionIds ,String classIds );

    Map<String,Long> getBirthplacePersons (String  departIds ,String professionIds ,String classIds );

    Map<String,Long> getPartyMembers (String  departIds ,String professionIds ,String classIds );

    Map<String,Long> getDifficultSituation(String  departIds ,String professionIds ,String classIds );

    Map<String,Long> getPsychologicalProblem(String  departIds ,String professionIds ,String classIds );

    Map<String,Long> getSingleParentOrphan(String  departIds ,String professionIds ,String classIds );

    Map<String,Long> getAcademicsWarninges(String  departIds ,String professionIds ,String classIds );



    List<NationPersonsVo> getDelayedGraduations(String departIds, String professionIds, String classIds,String fieldTwo);

    List<NationPersonsVo> getHanPersonss(String departIds, String professionIds, String classIds);

    List<NationPersonsVo> getFewPersons(String departIds, String professionIds, String classIds);

    List<NationPersonsVo> getBirthplacePersonss(String departIds, String professionIds, String classIds);

    List<NationPersonsVo> getBirthplacesPersons(String departIds, String professionIds, String classIds);

    List<NationPersonsVo> getPartysMembers(String departIds, String professionIds, String classIds);

    List<NationPersonsVo> getPartyMemberss(String departIds, String professionIds, String classIds);

    List<NationPersonsVo> getDifficultsSituation(String departIds, String professionIds, String classIds);

    List<NationPersonsVo> getDifficultStuation(String departIds, String professionIds, String classIds);

    List<NationPersonsVo> getPsychologicalProblems(String departIds, String professionIds, String classIds);

    List<NationPersonsVo> getPsychologicalsProblem(String departIds, String professionIds, String classIds);

    List<NationPersonsVo> getSingleParentOrphans(String departIds, String professionIds, String classIds);

    List<NationPersonsVo> getSinglesParentOrphan(String departIds, String professionIds, String classIds);

    List<NationPersonsVo> getAcademicsWarnings(String departIds, String professionIds, String classIds);

    List<NationPersonsVo> getAcademicsWarning(String departIds, String professionIds, String classIds);

    List<NationPersonsVo> getNationPeoples(String departIds, String professionIds, String classIds,String fieldTwo);

    /**
     * 民族
     * 通过学院或年级或专业或班级获取民族人数
     * getNationPeople
     */
    List<NationPersonsVo> getNationPeople(String  college ,String fieldTwo ,String profession,String  stClass);

    List<ProvinceVo> getProvincePeoples(String  college , String fieldTwo , String profession, String  stClass);

    List<CityVo> getCityPeoples(String  college , String fieldTwo , String profession, String  stClass);

    List<AreaVo> getAreaPeoples(String  college , String fieldTwo , String profession, String  stClass);

    List<StStateJiluForAdmin> getStatus(String ids);

    List<DepartVo> getDepart();

  /*  List<FilterVo>getfilterVos(String fieldTwo,String nationality);*/

    List<DepartVo> getDepart(String orgCode);

    List<ProvincesVo> getProvinces(String departs,String professions,String classs,String fieldTwo);

    List<NationPersonsVo> getProvincesSt(String departIds, String professionIds, String classIds,String fieldTwo);

    List<ProvincesVo> getCitys(String departs,String professions,String classs,String pid,String fieldTwo);

    List<ProvincesVo> getAreas(String departs,String professions,String classs,String sid,String fieldTwo);

    List<StatisticsVo> getStatistics(String keyword,String departs,String[] nationality ,String[] fieldTwo,
                                     String[] face, String[] punish,String[] graduation,String[] single,String[] difficult,String[] psychological,String[] academicWarning,String[] delayedGraduation);

    List<StStudent> getSchoolLeaverList(String college);

    List<StStudent> updateStatuses(String ids);

    List<String> getStatuses(String ids);

    Map<String, Object> getStudentInfo(String stuId,List<StatisticsVo> stStateJilu, List<StatisticsVo> stSanctions);
}
